package org.company.security.csp;
import java.security.KeyStore;
import java.security.Security;
import java.security.cert.X509Certificate;
import java.util.Enumeration;
import org.junit.BeforeClass;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TestLoadKeyStore {
private static final Logger LOGGER = LoggerFactory.getLogger(TestLoadKeyStore.class);
private static final String PROVIDER_NAME = "CSPProvider";
private static final String STORE_NAME = "Windows-MY";
@BeforeClass
public static void setUpBeforeClass() throws Exception {
LoadNative.loadProvider();
if(Security.getProvider(PROVIDER_NAME) == null)
Security.addProvider(new CSPProvider());
}
@Test
public void testLoalCertificates() throws Exception {
KeyStore keyStore = java.security.KeyStore.getInstance(STORE_NAME, PROVIDER_NAME);
keyStore.load(null, null);
Enumeration<String> aliases = keyStore.aliases();
while(aliases.hasMoreElements()) {
String alias = aliases.nextElement();
X509Certificate cert = (X509Certificate) keyStore.getCertificate(alias);
LOGGER.debug("Ключ {}" +
"\n\tSubject {}" +
"\n\tS/N {}" +
"\n\tIssuer {}",
new Object[]{
alias,
cert.getSubjectDN().getName(),
cert.getSerialNumber().toString(16),
cert.getIssuerDN().getName()
});
}
}
}